home *** CD-ROM | disk | FTP | other *** search
- TUZFILTER V. 1.04 - free filtering on any DataSource
- ====================================================
-
-
- Hi, out there in the wilderness. Here may come a the solution for many of your
- problems, related to filtering and indexing under DELPHI.
-
- This little component implements a BDE-level filter, based on a callback into
- your form's/unit's code, much like those QSort.-callback were.
-
- The callback function does all the filtering stuff, ie. detemines, whether the
- current record in scope is to be included or excluded, INDEPENDENTly of any
- index-settings, data-links, 1:m table links or whatever.
-
- Installation: after unpacking the ZIP-file, you'll find following files:
-
- -> FILTDEMO.* a little demo-application
- -> FLTDEMO1.* unit for FILTDEMO
-
- -> DBFILTUZ.INT documentation (installation AND HOW TO USE)
- -> DBFILTUZ.DCU TUZFilter VCL-component (see installation section in
- DBFILTUZ.INT)
- -> DBFILTUZ.DCR resource-file for DBFILTUZ.DCU
-
-
- RUNNNING the example in FILTDEMO:
-
- following prerequisites have to be fullfilled to run FILTDEMO "out of the
- box":
-
- -> A valid DBDEMOS-alias in you BDE-configuration (CUSTOMER.DB and
- ORDERS.DB will be accessed) must exist.
- -> DBFILTUZ.DCU m,ust be installed to your COMPLIB.DCL (see installation
- section "how to install" in DBFILTUZ.INT)
-
-
- FREEWARE: This component is FREEWARE according to the terms in DISCLAIMER'S
- NOTE in DBFILTUZ.INT.
- Source can be obtained from author (see contact address at end of
- this file).
-
-
- ADDITIONAL INFO, READ CAREFULLY:
- ================================
-
- I don't know, whether to state this as a "known bug" or not, but at least
- the following hint might be very helpful, bioth for security of code and
- for speed:
-
- DON'T CODE a "Application.ProcessMessages" line into your filterevent-handler
-
- Doing so, might confuse BDE which callback-events are "still to be processed"
- and which alredy are processed, leading into recursive calls of the filter-
- event handler until memory is low and BDE will GPF (IDAPI01.DLL 0003:xxxx or
- 0001:xxxx).
- This GPFs might freeze WIN as well as throw backl the hard way onto DOS-prompt,
- leaving tables open, records locked and so on.
-
-
-
-
- HISTORY of changes:
- ===================
- VERSION 1.04: BUG-fixes:
- -> .LAST-method resulted in an empty result set/first record
- -> adding a new record might result in an empty result set
-
- thanks to Frank BĪ£urle, who reported the bug on the .LAST-method on a
- dataset. This bug occurred when acting as follows:
-
- -> either use the mouse to drag the vertical slider thumb to it's lower
- end position (will result in an .LAST command on the dataset)
- -> or issue the .LAST command by keybord with crtl-end
-
- in both situations, V 1.03 returned an empty result set. This bug has been
- fixed and in addition some similar or related bugs has been fixed too:
-
- -> crtl-end or dragging the vert-thumb to the lower end on a DETAIL-
- table resulted in moving to the first instead of the last record in
- detail table (fixed)
- -> adding/inserting a new rceord into a filtered dataset may too have
- resulted in an empty resuult set under V 1.03 (fixed too, now works
- as expected)
-
-
- VERSION 1.03: BUG-fix, speed-improvement and initial default-setting
-
- bug-fix: When using two master-datail linked tables like in the demo-form, and
- "quick-scrolling" thru the nmaster-tables by mouse (holding the down-arrow of
- the grid pressed), a "not enough memory-error" occurred, this should be fixed
- now (tnx to Peter Gentes, pointing me in rioght direction).
- Additionally, a similar bug lead to a GPF in IDAPI01.DLL, when a master-
- record with _no_ detail-recs was reached and the two tables additionally
- were liked by PdX' referential integrity, should be fixed too.
-
- speed-imporvement: the detail-table isn't rebuild after every single
- record-skip in the master-table which (at least, when scrolling by
- keyboard) should improve scrolling speed.
-
- initial default setting: I just added a default setting for all
- TUZFilter-properties when you draw a new component on your form.
-
-
- VERSION 1.02: correction in FLTDEMO1.PAS uses-clause
-
- so sorry, V 1.01 did include a typo. The uses-clause in FLTDEMO1 referenced
- a component DBFILTER (which was the original name of DBFILTUZ suring
- develpment, but has changed due to the fact, that I found another component
- already using that name). Unfortunatly, I just added the DBFiltUZ
- forgetting to delete the now obsolete old reference.
- In V 1.02 this has been changed, so compiles will no more break down with a
- "component not found" error for the obsolete refernce. That's the only
- change for V 1.02.
-
-
- may the gods of the olymp smile on you ...
-
- bye UZ/2 CIS: 100271,313
-
-